
package com.x52im.rbchat.logic.chat_root.model;

import com.google.gson.Gson;

/**
 * 大文件消息的文件信息元数据.
 * 
 * @author JackJiang
 * @since 4.3
 */
public class FileMeta 
{
    /** 文件名 */
    private String fileName;
    /** 文件md5码 */
    private String fileMd5;
    /** 文件长度（单位：字节） */
    private long fileLength = 0;
    
    /** 文件绝对路径，含文件名 (对于收到的文件来说，在它还没下载完成前，这个路径指向的文件是不存在的哦) */
    private String filePath;
    
    public FileMeta(String fileName, String fileMd5, long fileLength, String filePath) 
    {
        this.fileName = fileName;
        this.fileMd5 = fileMd5;
        this.fileLength = fileLength;
        this.filePath = filePath;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileMd5() {
        return fileMd5;
    }

    public void setFileMd5(String fileMd5) {
        this.fileMd5 = fileMd5;
    }

    public long getFileLength() {
        return fileLength;
    }

    public void setFileLength(long fileLength) {
        this.fileLength = fileLength;
    }

    public String getFilePath()
    {
        return filePath;
    }

    public FileMeta setFilePath(String filePath)
    {
        this.filePath = filePath;
        return this;
    }

    public static FileMeta fromJSON(String jsonOfFileMeta)
    {
        return new Gson().fromJson(jsonOfFileMeta, FileMeta.class);
    }
}
